package com.xinsoft.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xinsoft.entity.dto.*;
import com.xinsoft.entity.po.MesProcessPlanDetail;
import com.xinsoft.entity.po.MesProducePlan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author lijie
* @description 针对表【mes_produce_plan(生产计划)】的数据库操作Mapper
* @createDate 2023-07-24 09:25:01
* @Entity com.xinsoft.entity.po.MesProducePlan
*/
public interface MesProducePlanMapper extends BaseMapper<MesProducePlan> {

    /**
     * 分页查询
     * @param page
     * @param param
     * @return
     */
    IPage<MesProducePlanDTO> findListByParam(Page<?> page, @Param("param") MesProducePlantParam param);



    /**
     * 分页查询
     * @param param
     * @return
     */
    MesProducePlanDTO findTotalByParam(@Param("param") MesProducePlantParam param);



    /**
     * 分页查询
     * @param param
     * @return
     */
    List<MesProducePlantChartDTO> getPlanForChat(@Param("param") MesProducePlantParam param);

    int insertOrUpdateBatch(List<MesProducePlan> planList);
    /**
     * 根据工艺id获取工序信息
     * @param
     * @return
     */
    List<MesProcessPlanDetailDTO> getMesProcessPlanDetail(@Param("craftId") Integer craftId);


    /**
     * 获取生产计划反馈信息
     * @param
     * @return
     */
    IPage<MesProductionExecutionFeedbackDTO> getProduceAndProcess(Page<?> page, @Param("param") MesProductionExecutionFeedbackParam param);



    List<MesProductionExecutionFeedbackDetailDTO> findProductionExecutionFeedbackDetail(@Param("planId") Integer planId);

}




